|
|
Hlavní nabídka Prohlížení IS/STAG
Nalezené předměty, počet: 1
Stránkování výsledků vyhledávání
Nalezeno 1 záznamů
Export do Xls
Informace o předmětu
KIV / PPA2E
:
Popis předmětu
Pracoviště / Zkratka
|
KIV
/
PPA2E
|
Akademický rok
|
2023/2024
|
Akademický rok
|
2023/2024
|
Název
|
Počítače a programování 2
|
Způsob zakončení
|
Zkouška
|
Způsob zakončení
|
Zkouška
|
Akreditováno / Kredity
|
Ano,
5
Kred.
|
Forma zakončení
|
Kombinovaná
|
Forma zakončení
|
Kombinovaná
|
Rozsah hodin
|
Přednáška
3
[HOD/TYD]
Cvičení
2
[HOD/TYD]
|
Zápočet před zkouškou
|
Ano
|
Zápočet před zkouškou
|
Ano
|
Automatické uznávání zápočtu před zkouškou
|
Ne
|
Počítán do průměru
|
ANO
|
Vyučovací jazyk
|
Angličtina
|
Obs/max
|
|
|
|
Automatické uznávání zápočtu před zkouškou
|
Ne
|
Letní semestr
|
0 / -
|
0 / -
|
3 / -
|
Počítán do průměru
|
ANO
|
Zimní semestr
|
0 / -
|
0 / -
|
0 / -
|
Opakovaný zápis
|
NE
|
Opakovaný zápis
|
NE
|
Rozvrh
|
Ano
|
Vyučovaný semestr
|
Letní semestr
|
Vyučovaný semestr
|
Letní semestr
|
Minimum (B + C) studentů
|
10
|
Volně zapisovatelný předmět |
Ano
|
Volně zapisovatelný předmět
|
Ano
|
Vyučovací jazyk
|
Angličtina
|
Počet dnů praxe
|
0
|
Počet hodin kontaktní výuky |
|
Hodnotící stupnice |
1|2|3|4 |
Periodicita |
každý rok
|
Hodnotící stupnice pro zp. před zk. |
S|N |
Periodicita upřesnění |
|
Základní teoretický předmět |
Ne
|
Profilující předmět |
Ne
|
Základní teoretický předmět |
Ne
|
Hodnotící stupnice |
1|2|3|4 |
Hodnotící stupnice pro zp. před zk. |
S|N |
Nahrazovaný předmět
|
Žádný
|
Vyloučené předměty
|
KIV/DB2 a KIV/PPA2
|
Podmiňující předměty
|
Nejsou definovány
|
Předměty informativně doporučené
|
KIV/PPA1 a KIV/PPA nebo KIV/PPA-E
|
Předměty,které předmět podmiňuje
|
KSO/SBZIM
|
Graf četnosti udělených hodnocení studentům napříč roky:
Obrázek PNG
,
XLS
|
Cíle předmětu (anotace):
|
Vybavit studenty znalostí základních datových struktur a algoritmů.
|
Požadavky na studenta
|
Vyřešení domácích zadání, průběžný test, vypracování semestrální práce a její aplikace na on-line testu.
Získání zápočtu do konce června.
Z důvodu průběžné aktualizace předmětu je pro získání zápočtu při opakovaném zapsání předmětu (viz SZŘ čl. 24 odst. 3) nutné souhlasné vyjádření garanta předmětu.
Upozornění:
Termíny a forma ověřování splnění požadavků mohou být upraveny s ohledem na opatření vyhlášená v souvislosti s vývojem epidemiologické situace v ČR.
|
Obsah
|
1. Problém, algoritmus, program. Program a programovací jazyk. Vykonání programu. Objekt, třída.
2. Spojové datové struktury. Správnost programů. Analýza programů.
3. Abstraktní datový typ. Zásobník a fronta.
4. Seznam. Příklady rekurze. Rekurzivní programy.
5. Rekurze a zásobník. Stromy, základní pojmy. Binární stromy. Binární vyhledávací stromy.
6. Grafy a jejich implementace. Prohledávání grafu. Topologické řazení.
7. Tabulka s přímým adresováním. Rozptylové tabulky se zřetězením. Rozptylovací funkce.
8. Prioritní fronta. Halda. Řazení použitím prioritní fronty.
9. Problém řazení. Řazení haldou. Shellovo řazení. Řazení dělením. Řazení slučováním.
10.Generičnost. Dědičnost. Rozhraní.
11. Abstrakce problému. Algoritmická řešitelnost problémů. Dolní omezení pro porovnávací řazení.
Klasifikace problémů.
12. NP-úplné problémy. Splnitelnost logického obvodu. Dokazování NP-úplnosti.
13. Použití algoritmů na vybrané problémy.
|
Aktivity
|
|
Studijní opory
|
Pro předmět existuje systém opor v LMS Courseware se všemi podstatnými informacemi a materiály.
|
Garanti a vyučující
|
|
Literatura
|
-
Základní:
Šafařík, Jiří. Počítače a programování 2. ZČU, 2005.
-
Doporučená:
Sedgewick, Robert. Algorithms in Java. Pts. 1-4, Fundamentals, data structures, sorting, searching. 3rd ed. Boston : Addison-Wesley, 2003. ISBN 0-201-36120-5.
-
Doporučená:
Lafore, Robert. Data structures & algorithms in Java. Corte Madera : Waite Group Press, 1998. ISBN 1-57169-095-6.
-
Doporučená:
Cormen, Thomas H. Introduction to algorithms. Cambridge : MIT Press, 2001. ISBN 0-262-03293-7.
-
On-line katalogy knihoven
|
Časová náročnost
|
Všechny formy studia
|
Aktivity
|
Časová náročnost aktivity [h]
|
Příprava na dílčí test [2-10]
|
8
|
Příprava na zkoušku [10-60]
|
30
|
Kontaktní výuka
|
65
|
Projekt individuální [40]
|
40
|
Celkem
|
143
|
|
Předpoklady
|
Odborné znalosti - pro úspěšné zvládnutí předmětu se předpokládá, že je student před zahájením výuky schopen: |
orientovat se v primitivních datových typech používaných v jazyce Java |
orientovat se v základních imperativních řídících strukturách jazyka Java |
popsat principy programování v imperativních jazycích, zejména základních řídících struktur |
popsat principy základních způsobů reprezentace dat v počítači |
prokazovat znalosti základních pojmů a metod z matematiky |
Odborné dovednosti - pro úspěšné zvládnutí předmětu se předpokládá, že student před zahájením výuky dokáže: |
na základní uživatelské úrovni používat některé z běžných vývojových prostředí Javy |
provádět základní matematická odvození a výpočty |
vytvářet jednoduché programy v jazyce Java |
Obecné způsobilosti - před zahájením studia předmětu je student schopen: |
bc. studium: vytváří hypotézy, navrhuje postupné kroky, zvažuje využití různých postupů při řešení problému nebo ověřování hypotézy, |
|
Výsledky učení
|
Odborné znalosti - po absolvování předmětu prokazuje student znalosti: |
interpretovat výroky o složitosti algoritmů a složitostních třídách O, Theta a Omega |
interpretovat výroky o složitosti problémů, porozumět výrokům o třídách složitosti P, NP a NP-C |
popsat způsob vykonání programu v jazyce Java, zejména z hlediska alokace paměti v zásobníku a na hromadě a vytváření zásobníkových rámců |
určit výpočetní složitost operací nad konkrétními implementacemi abstraktních datových struktur, zejména u standardních implementací v knihovně jazyka Java |
vyjmenovat a popsat nejpoužívanější algoritmy řazení a analyzovat jejich vlastnosti |
vyjmenovat a popsat nejrozšířenější abstraktní datové typy, možnosti jejich implementace a z toho plynoucí vlastnosti |
Odborné dovednosti - po absolvování předmětu prokazuje student dovednosti: |
analyzovat a provnávat algoritmy z hlediska třídy výpočetní a paměťové složitosti |
implementovat programy využívající základní principy objektového programování v jazyce Java |
implementovat složitější algoritmy zpracovávající dynamické datové struktury |
implementovat základní algoritmy zpracování grafů, tj. prohledávání do šířky a do hloubky a topologické řazení |
implementovat základní algoritmy zpracování stromových datových struktur, tj. preorder, inorder a postorder procházení |
vytvářet složitější datové struktury podle konkrétních zadání, zejména s ohledem na volbu vhodné a efektivní abstraktní datové struktury a její implementace |
Obecné způsobilosti - po absolvování předmětu je student schopen: |
bc. studium: samostatně získávají další odborné znalosti, dovednosti a způsobilosti na základě především praktické zkušenosti a jejího vyhodnocení, ale také samostatným studiem teoretických poznatků oboru, |
|
Hodnoticí metody
|
Odborné znalosti - odborné znalosti dosažené studiem předmětu jsou ověřovány hodnoticími metodami: |
Průběžné hodnocení, |
Písemná zkouška, |
Test, |
Seminární práce, |
|
Vyučovací metody
|
Odborné znalosti - pro dosažení odborných znalostí jsou užívány vyučovací metody: |
Samostatná práce studentů, |
Přednáška s demonstrací, |
Přednáška s diskusí, |
Cvičení (praktické činnosti), |
|
|
|
|